// 导入API工具
import { userAPI } from '../../utils/api';

Page({
  data: {
    // 用于标识是否已勾选用户协议
    isAgreementChecked: false,
    loading: false
  },
  
  // 页面加载时执行
  onLoad: function(options) {
    // 保存重定向参数
    if (options && options.redirect) {
      this.redirectUrl = decodeURIComponent(options.redirect);
    }
  },

  // 抖音一键登录 - 简化版
  douyinLogin() {
    // 首先检查是否已同意协议
    if (!this.data.isAgreementChecked) {
      wx.showModal({
        title: '提示',
        content: '请阅读并同意用户协议和隐私政策',
        showCancel: false,
        confirmText: '我知道了'
      });
      return;
    }

    // 设置加载状态
    this.setData({ loading: true });
    
    // 简化登录流程：直接调用tt.login获取code进行登录
    tt.login({
      force: true,
      success: (loginRes) => {
        console.log('tt.login调用成功:', loginRes.code);
        
        // 直接使用login code调用后端登录
        this.loginWithBackend(loginRes.code);
      },
      fail: (loginErr) => {
        console.error('tt.login调用失败:', loginErr.errMsg);
        
        // 更详细的错误提示
        let errorMsg = '登录失败，请检查网络连接后重试';
        if (loginErr.errMsg.includes('ENOTFOUND')) {
          errorMsg = '网络连接失败，请检查网络后重试';
        }
        
        wx.showToast({
          title: errorMsg,
          icon: 'none'
        });
        
        this.setData({ loading: false });
      }
    });
  },
  
  // 调用后端API进行登录验证
  loginWithBackend(code, userInfo = null) {
    userAPI.login({ code, userInfo })
      .then(res => {
        console.log('后端登录成功:', res);
        
        if (res.success && res.data) {
          // 保存用户信息和token到全局和本地存储
          const app = getApp();
          app.saveUserInfo(res.data.userInfo, res.data.token);
          
          // 显示登录成功提示
          wx.showToast({
            title: '登录成功',
            icon: 'success'
          });
          
          // 登录成功后跳转
          setTimeout(() => {
            if (this.redirectUrl) {
              wx.redirectTo({
                url: this.redirectUrl
              });
            } else {
              wx.switchTab({
                url: '/pages/index/index'
              });
            }
          }, 1000);
        } else {
          wx.showToast({
            title: res.message || '登录失败',
            icon: 'none'
          });
        }
      })
      .catch(err => {
        console.error('后端登录失败:', err);
        wx.showToast({
          title: '服务器连接失败，请稍后重试',
          icon: 'none'
        });
      })
      .finally(() => {
        this.setData({ loading: false });
      });
  },
   // 查看用户协议
  viewUserAgreement() {
    wx.showModal({
      title: '用户协议',
      content: '这里是用户协议内容，具体请参考小程序的正式用户协议。',
      showCancel: false
    });
  },

  // 查看隐私政策
  viewPrivacyPolicy() {
    wx.showModal({
      title: '隐私政策',
      content: '这里是隐私政策内容，具体请参考小程序的正式隐私政策。',
      showCancel: false
    });
  },

  // 切换协议勾选状态
  toggleAgreement() {
    this.setData({
      isAgreementChecked: !this.data.isAgreementChecked
    });
  },


})